package com.jt.controller;/**
 * @Author 金帮嘉诚 @Date 2021-07-21 星期三 16:32
 */
/*本类用于测试*/

import com.jt.service.HelloService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 知识点
 * 注解@Value
 * spel表达式${}
 */

/**
 * 1.接收用户发起的请求
 * 2.响应用户JSON串数据
 * 1.@ResponseBody 可以将对象转化为JSON串
 * 2.如果返回值为String类型,则返回本身
 * 纠正:A.JSON串
 **/

@RestController
//spring容器启动时，动态##添加配置文件## 一般需要修改字符集
//为注解赋值 1.要用key=value格式
//         2.如果只写一个属性且是要为value属性赋值，可以省略value=
//         3.如果还有乱码，检查IDEA properties编码格式
@PropertySource(value = "classpath:/person.properties", encoding = "UTF-8")
@RequestMapping("/hello")
public class HelloController {
//先按类注入，不行再按属性名注入
    @Autowired
    private HelloService helloServiceA;
//属性名注入
    @Qualifier("helloServiceA")
    private HelloService helloService;
//错误示范 类名和属性名都无法唯一对应
//    @Autowired
//    private HelloService helloService;


    //spel表达式
    @Value("${user.day}")//为属性赋值
    private String day;
    //如果没有添加配置文件.properties
    //Could not resolve placeholder 'person.name' in value "${person.name}"
    //placeholder占位符
    @Value("${person.name}")
    private String name;

    //这里路径名是大小写敏感的
    @RequestMapping("////getMsg")
    public String getMsg() {
        return "我是一个长了" + day + "天的树" + name;
    }






}
